function next1() {
    console.log('第一层')
    m1(next2)
}

function next2() {
    console.log('第二层')
    m2(next3)
}

function next3() {
    console.log('第三层')
    m3()
}


const m1 = async (next) => {
    console.log('第一层进来了')
    await next()
    console.log('由第二层返回第一层')

}

const m2 = async (next) => {
    console.log('第二层进来了')
    await next()
    console.log('由第三层返回第二层')
}

const m3 = async () => {
    console.log('第三层结束 开始返回')
}

next1()